Arduino

您所在的位置:网站首页 arduino isdigit Arduino

Arduino

2023-04-18 17:05| 来源: 网络整理| 查看: 265

教程 Arduino 教程 Arduino - 字元函式 Arduino - 字元函式

Created: October-07, 2018

所有資料都以字元形式輸入計算機,包括字母、數字和各種特殊符號。在本節中,我們將討論用於檢查和操作單個字元的 C++的函式。

字元處理庫包括幾個執行有用的測試和字元資料操作的函式。每個函式接收一個字元(型別為 int),或 EOF 作為引數。字元通常被當作整數來操作。

請記住,EOF 通常具有值-1,並且某些硬體體系結構不允許將負值儲存在 char 變數中。因此,字元處理函式將字元操作為整數。

下表總結了字元處理庫的功能。使用字元處理庫中的函式時,請包含 標頭。

S.No. 原型和描述 1

int isdigit(int c)

如果 c 是數字,則返回 1,否則返回 0。

2

int isalpha(int c)

如果 c 是字母,則返回 1,否則返回 0。

3

int isalnum(int c)

如果 c 是數字或字母,則返回 1,否則返回 0。

4

int isxdigit(int c)

如果 c 是十六進位制數字字元,則返回 1,否則返回 0。

(有關二進位制,八進位制,十進位制和十六進位制數的詳細說明,請參見附錄 D,數字系統。)

int islower(int c)

如果 c 是小寫字母,則返回 1,否則返回 0。

6

int isupper(int c)

如果 c 是大寫字母,則返回 1; 否則為 0。

7

int isspace(int c)

如果 c 是空格字元 - 換行符(`\n`)

(''),換頁('\f'),回車('\r'),水平製表符('\t')或垂直製表符('\v')則返回 1 - 否則為 0。

8

int iscntrl(int c)

如果 c 是控制字元,則返回 1,例如換行符('\n'),換頁符('\f'),回車符('\r'),水平製表符('\t'),垂直製表符(' \v'),警告('\ a')或退格('\ b') - 否則為 0。

9

int ispunct(int c)

如果 c 是除空格,數字或字母以外的列印字元,則返回 1,否則返回 0。

10

int isprint(int c)

如果 c 是包含空格('')的列印字元,則返回 1,否則返回 0。

11

int isgraph(int c)

如果 c 是除空格('')以外的列印字元,則返回 1,否則返回 0。

例子

以下示例演示了函式 isdigit,isalpha,isalnum 和 isxdigit 的使用。函式 isdigit 確定其引數是否為數字(0-9)。函式 isalpha 確定其引數是大寫字母(AZ)還是小寫字母(a-z)。函式 isalnum 確定其引數是大寫,小寫字母還是數字。函式 isxdigit 確定其引數是否為十六進位制數字(A-F,a-f,0-9)。

例 1 void setup () { Serial.begin (9600); Serial.print ("According to isdigit:\r"); Serial.print (isdigit( '8' ) ? "8 is a": "8 is not a"); Serial.print (" digit\r" ); Serial.print (isdigit( '8' ) ?"# is a": "# is not a") ; Serial.print (" digit\r"); Serial.print ("\rAccording to isalpha:\r" ); Serial.print (isalpha('A' ) ?"A is a": "A is not a"); Serial.print (" letter\r"); Serial.print (isalpha('A' ) ?"b is a": "b is not a"); Serial.print (" letter\r"); Serial.print (isalpha('A') ?"& is a": "& is not a"); Serial.print (" letter\r"); Serial.print (isalpha( 'A' ) ?"4 is a":"4 is not a"); Serial.print (" letter\r"); Serial.print ("\rAccording to isalnum:\r"); Serial.print (isalnum( 'A' ) ?"A is a" : "A is not a" ); Serial.print (" digit or a letter\r" ); Serial.print (isalnum( '8' ) ?"8 is a" : "8 is not a" ) ; Serial.print (" digit or a letter\r"); Serial.print (isalnum( '#' ) ?"# is a" : "# is not a" ); Serial.print (" digit or a letter\r"); Serial.print ("\rAccording to isxdigit:\r"); Serial.print (isxdigit( 'F' ) ?"F is a" : "F is not a" ); Serial.print (" hexadecimal digit\r" ); Serial.print (isxdigit( 'J' ) ?"J is a" : "J is not a" ) ; Serial.print (" hexadecimal digit\r" ); Serial.print (isxdigit( '7' ) ?"7 is a" : "7 is not a" ) ; Serial.print (" hexadecimal digit\r" ); Serial.print (isxdigit( '$' ) ? "$ is a" : "$ is not a" ); Serial.print (" hexadecimal digit\r" ); Serial.print (isxdigit( 'f' ) ? “f is a" : "f is not a"); } void loop () { } 結果 According to isdigit: 8 is a digit According to isalpha: A is a letter b is a letter & is not a letter 4 is not a letter According to isalnum: A is a digit or a letter 8 is a digit or a letter According to isxdigit: F is a hexadecimal digit J is not a hexadecimal digit 7 is a hexadecimal digit $ is not a hexadecimal digit f is a hexadecimal digit

我們對每個函式使用條件運算子 ?: 來確定在輸出中應該列印字串 is a 還是字串 is not a。例如,行 a 表示如果’8’是數字 - 即,如果 isdigit 返回真(非零)值 - 則列印字串 8 is a。如果’8’不是數字(即,如果 isdigit 返回 0),則列印字串 8 is not a。

例 2

以下示例演示了函式 islower 和 isupper 的使用。函式 islower 確定其引數是否為小寫字母(a-z)。函式 isupper 確定其引數是否為大寫字母(A-Z)。

int thisChar = 0xA0; void setup () { Serial.begin (9600); Serial.print ("According to islower:\r") ; Serial.print (islower( 'p' ) ? "p is a" : "p is not a" ); Serial.print ( " lowercase letter\r" ); Serial.print ( islower( 'P') ? "P is a" : "P is not a") ; Serial.print ("lowercase letter\r"); Serial.print (islower( '5' ) ? "5 is a" : "5 is not a" ); Serial.print ( " lowercase letter\r" ); Serial.print ( islower( '!' )? "! is a" : "! is not a") ; Serial.print ("lowercase letter\r"); Serial.print ("\rAccording to isupper:\r") ; Serial.print (isupper ( 'D' ) ? "D is a" : "D is not an" ); Serial.print ( " uppercase letter\r" ); Serial.print ( isupper ( 'd' )? "d is a" : "d is not an") ; Serial.print ( " uppercase letter\r" ); Serial.print (isupper ( '8' ) ? "8 is a" : "8 is not an" ); Serial.print ( " uppercase letter\r" ); Serial.print ( islower( '$' )? "$ is a" : "$ is not an") ; Serial.print ("uppercase letter\r "); } void setup () { } 結果 According to islower: p is a lowercase letter P is not a lowercase letter 5 is not a lowercase letter ! is not a lowercase letter According to isupper: D is an uppercase letter d is not an uppercase letter 8 is not an uppercase letter $ is not an uppercase letter 例 3

以下示例演示了函式 isspace,iscntrl,ispunct,isprint 和 isgraph 的使用。

函式 isspace 確定其引數是否為空格字元,例如空格(’ ‘),換頁符(’\f’),換行符(’\n’),回車符(’\r’),水平製表符(’\t’)或垂直製表符(’\v’)。

函式 iscntrl 確定其引數是否為控制字元,如水平製表符(’\t’),垂直製表符(’\v’),換頁符(’\f’),警告(’\ a’),退格鍵(’\ b’),回車符(’\r’)或換行符(’\n’)。

函式 ispunct 確定其引數是否是空格,數字或字母以外的列印字元,例如 $ # ( ) [ ] { } ; : %。

函式 isprint 確定其引數是否是可以在螢幕上顯示的字元(包括空格字元)。

函式 isgraph 測試與 isprint 相同的字元,但不包括空格字元。

void setup () { Serial.begin (9600); Serial.print ( " According to isspace:\rNewline ") ; Serial.print (isspace( '\n' )? " is a" : " is not a" ); Serial.print ( " whitespace character\rHorizontal tab") ; Serial.print (isspace( '\t' )? " is a" : " is not a" ); Serial.print ( " whitespace character\n") ; Serial.print (isspace('%')? " % is a" : " % is not a" ); Serial.print ( " \rAccording to iscntrl:\rNewline") ; Serial.print ( iscntrl( '\n' )?"is a" : " is not a" ) ; Serial.print (" control character\r"); Serial.print (iscntrl( '$' ) ? " $ is a" : " $ is not a" ); Serial.print (" control character\r"); Serial.print ("\rAccording to ispunct:\r"); Serial.print (ispunct(';' ) ?"; is a" : "; is not a" ) ; Serial.print (" punctuation character\r"); Serial.print (ispunct('Y' ) ?"Y is a" : "Y is not a" ) ; Serial.print ("punctuation character\r"); Serial.print (ispunct('#' ) ?"# is a" : "# is not a" ) ; Serial.print ("punctuation character\r"); Serial.print ( "\r According to isprint:\r"); Serial.print (isprint('$' ) ?"$ is a" : "$ is not a" ); Serial.print (" printing character\rAlert "); Serial.print (isprint('\a' ) ?" is a" : " is not a" ); Serial.print (" printing character\rSpace "); Serial.print (isprint(' ' ) ?" is a" : " is not a" ); Serial.print (" printing character\r"); Serial.print ("\r According to isgraph:\r"); Serial.print (isgraph ('Q' ) ?"Q is a" : "Q is not a" ); Serial.print ("printing character other than a space\rSpace "); Serial.print (isgraph (' ') ?" is a" : " is not a" ); Serial.print ("printing character other than a space "); } void loop () { } 結果 According to isspace: Newline is a whitespace character Horizontal tab is a whitespace character % is not a whitespace character According to iscntrl: Newline is a control character $ is not a control character According to ispunct: ; is a punctuation character Y is not a punctuation character According to isprint: $ is a printing character Alert is not a printing character Space is a printing character According to isgraph: Q is a printing character other than a space Space is not a printing character other than a space Arduino - math 函式庫Arduino - 高階 I/O 功能


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3